<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			
		// 1.创建对象，缺点，一个一个创建，很积累
		// JSON  -JavaScript Object Notation
		// JavaScript对象表达式 -创建对象的字面量语法
		/*const person = {
			name:'张三',
			age:39,
			eat:function(food) {
				alert(this.name + '正在吃' + foog)
			},
			watchAv: function() {

				if (this.age < 18) {
					alert(this.name + '只能看《熊出没》')
				} else {
					alert(this.name + '正在观看岛国爱情片')
				}		
				
			}
		}
		person.eat('蛋炒饭')
		person.watchAv()*/
			
		// 2.构造器函数,创建对象
		/*function Person(name,age) {
			this.name = name
			this.age = age
		}
		// 增加对象的方法
		Person.prototype.eat = function(food) {
			alert(this.name + '正在吃' + food)
		}
		Person.prototype.watchAv = function() {
			if (this.age < 18) {
				alert(this.name + '只能看《熊出没》')
			} else {
				alert(this.name + '正在观看岛国爱情片')
			}		
		}
		
		// 创建对象 new
		let person = new Person('张三',18)
		person.eat('蛋炒饭')
		let person2 = new Person('王大锤',25)
		person2.watchAv()*/
		
		// 3. 利用class定义类，只有新版js(es6)才支持
		class Person {
			// js class定义构造器的方式
			constructor(name,age) {
			    this.name = name
				this.age = age
			}
			eat(food) {
				alert(`${this.name}正在吃${food}`)
			}
			watchAv() {
				if (this.age < 18) {
					alert(`$(this.name)只能看《熊出没》`)	
				}else{
					alert(`$(this.name)正在观看岛国爱情片`)	
				}
			}
		}
		
		// 创建对象 new
		let person = new Person('张三',18)
		person.eat('蛋炒饭')
		let person2 = new Person('王大锤',25)
		person2.watchAv()
		</script>
	</body>
</html>
